---
title: "Coronavirus (II)"
author: "Rubén F. Bustillo"
output:
flexdashboard::flex_dashboard:
orientation: rows
social: menu
source_code: embed
vertical_layout: fill
theme: cerulean
---
```{r setup, include=FALSE}
#------------------ paquetes ------------------
devtools::install_github("RamiKrispin/coronavirus")
coronavirus<-coronavirus::coronavirus
library(flexdashboard)
library(coronavirus)
library(tidyverse)
library(echarts4r)
library(DT)
library(plotly)
data(coronavirus)
# COLORES:
# https://www.w3.org/TR/css-color-3/#svg-color
confirmed_color <- "lightsteelblue"
active_color <- "orange"
recovered_color <- "limegreen"
death_color <- "red"
# DATASETS:
# confirmed/active/recovered/death cases by country
df <- coronavirus %>%
group_by(Country.Region, type) %>%
summarise(total = sum(cases)) %>%
pivot_wider(names_from = type,
values_from = total) %>%
mutate(unrecovered = confirmed - ifelse(is.na(recovered), 0, recovered) - ifelse(is.na(death), 0, death)) %>%
arrange(-confirmed) %>%
ungroup() %>%
mutate(country = if_else(Country.Region == "United Arab Emirates", "UAE", Country.Region)) %>%
mutate(country = if_else(country == "Mainland China", "China", country)) %>%
mutate(country = if_else(country == "North Macedonia", "N.Macedonia", country)) %>%
mutate(country = if_else(country == "Dominican Republic", "Dominican Rep.", country)) %>%
mutate(country = trimws(country)) %>%
mutate(country = factor(country, levels = country))
df_spain <- df %>%
filter(country == "Spain")
# CUMULATIVE CASES:
df_daily <- coronavirus %>%
group_by(date, type) %>%
summarise(total = sum(cases, na.rm = TRUE)) %>%
pivot_wider(names_from = type,
values_from = total) %>%
arrange(date) %>%
ungroup() %>%
mutate(active = confirmed - death - recovered) %>%
mutate(confirmed_cumulative = cumsum(confirmed),
death_cumulative = cumsum(death),
recovered_cumulative = cumsum(recovered),
active_cumulative = cumsum(active))
df1 <- coronavirus %>%
filter(date == max(date))
df_map <- df %>%
mutate(country = recode_factor(country,
`US` = "United States",
`UK` = "United Kingdom",
`UAE` = "United Arab Emirates",
`South Korea`= "Korea"))
```
Spain
=======================================================================
Column
-------------------------------------
###
```{r, figh.height = 10}
df_Spain <- coronavirus %>%
filter(Country.Region == "Spain") %>%
group_by(date, type) %>%
summarise(total = sum(cases, na.rm = F)) %>%
pivot_wider(names_from = type,
values_from = total) %>%
arrange(date) %>%
ungroup()
df_Spain %>%
datatable(rownames = FALSE)
```
### Confirmed Cases
```{r, fig.width=10, fig.height=10}
plotly::plot_ly(data = df_Spain) %>%
plotly::add_trace(x = ~ date,
y = ~ confirmed,
type = "bar",
line = list(color = confirmed_color),
marker = list(color = confirmed_color)) %>%
plotly::layout(yaxis = list(title = "Confirmed Cases"),
xaxis = list(title = ""))
```
Column
-------------------------------------
### Recovered Cases
```{r, fig.width=10, fig.height=10}
plot_ly(df_Spain,
x = ~ date,
y = ~ recovered,
type = "waterfall",
increasing = list(marker = list(color = recovered_color, line = list(color = recovered_color, width = 1)))) %>%
layout(autosize = TRUE)
```
### Death Cases
```{r, fig.width=10, fig.height=10}
plot_ly(df_Spain,
x = ~ date,
y = ~ death,
type = "waterfall",
increasing = list(marker = list(color = "red", line = list(color = "red", width = 1))))
```
Column
-------------------------------------
### confirmed {.value-box}
```{r}
valueBox(value = df_spain$confirmed,
caption = "Confirmed Cases in Spain",
color = confirmed_color)
```
### active {.value-box}
```{r}
valueBox(value = df_spain$unrecovered,
caption = "Active Cases",
color = active_color)
```
### recovered {.value-box}
```{r}
valueBox(value = df_spain$recovered,
caption = "Recovered Cases",
color = recovered_color)
```
### death {.value-box}
```{r}
valueBox(value = df_spain$death,
caption = "Death Cases",
color = death_color)
```